package com.sca.bussiness.service;

/**
 * @author liuxianfei
 * @since 2020/11/23 11:03
 */
public interface LockService {

    /**
     * zookeeper：
     * 缺点：并发较低，未拿到锁时会等待（监听上一个锁）
     * 优点：无redis缺点，同一个目录下只能有一个唯一的文件名，即使A加锁成功过后宕机，B也不能加锁成功
     * redis：
     * 缺点：集群环境下的极端情况（单机则无问题），A加锁，还未同步到B，此时A宕机，B选举为master，则会同时持有两把锁
     * 优点：高并发
     * 数据库：
     * 缺点：性能取决于数据库，通常都很低
     * 优点：实现简单，唯一索引、乐观锁、悲观锁
     */
    Boolean zookeeperLock();

    Boolean redisLock();

}
